package kn.webstd.g4g.business;

import java.util.List;

import kn.webstd.g4g.commons.dts.BUDts;
import kn.webstd.g4g.commons.dts.StatusDts;
import kn.webstd.g4g.commons.dts.UrgencyDts;
import kn.webstd.g4g.commons.dts.UsersDts;
import kn.webstd.tools.business.IService;
import kn.webstd.tools.business.security.IAuthorizationManager.PermitAll;

@PermitAll
public interface IUrgencyService extends IService {
	public UrgencyDts getUrgency(UrgencyDts urgency);
	public UrgencyDts saveUrgency(UrgencyDts urgency);
	public UrgencyDts updateUrgency(UrgencyDts urgency);
	public List<UrgencyDts> getUrgencyNowsByUser(UsersDts user, StatusDts period);
	public List<UrgencyDts> getUrgencyPastByUser(UsersDts user, StatusDts period);
	public List<UrgencyDts> getUrgencyNowsByUserNotFinished(UsersDts user, StatusDts period);
	public List<UrgencyDts> getUrgencyPastByUserNotFinished(UsersDts user, StatusDts period);
	public List<UrgencyDts> getUrgencyNowsByBU(BUDts bu, StatusDts period);
	public List<UrgencyDts> getUrgencyPastByBU(BUDts bu, StatusDts period);
	public UrgencyDts terminateUrgencyByUser(UsersDts user);
	public List<UrgencyDts> createNewUrgencyWithChangePeriod(StatusDts periodBefore);
}